The field of communications has become increasingly important in today's society. One area of importance associated with network communications relates to network congestion. Network congestion can occur when a link or node is carrying so much data that its quality of service deteriorates, leading to packet loss and other undesirable network behavior. As traffic and subscriber base of end users increases, so too does network congestion, as more and more users cram higher amounts of traffic into existing network infrastructure. Studies show that overall data traffic is expected to double every year, leading to increasingly congested networks. Efficient management of communication sessions and data flows to avoid undesirable network behavior is thus increasingly important in networking technologies.